/**
 *this code by vsk
 *create 20110330
 *lastModify 20110331
*/
go
use pubs
/********+*********+*********+*********+*********+*********+*/
go
drop database ProjectManager            --删除项目管理数据库
go
/********+*********+*********+*********+*********+*********+*/
go
create database ProjectManager          --创建项目管理数据库
ON( 
NAME='ProjectManager.mdf',              --数据库名称
FILENAME='I:\DatabaseFile\ProjectManager.mdf'  --数据库存放地点  
)
LOG ON
(
NAME='ProjectManager.ldf',              --日志名称
FILENAME='I:\DatabaseFile\ProjectManager.ldf'  --日志存放地点
)
go
/********+*********+*********+*********+*********+*********+*/
go
use ProjectManager                       --应用项目管理数据库
go
/********+*********+*********+*********+*********+*********+*/
/*
drop table Tb_Module
drop table Tb_Supplier
drop table Tb_Users
drop table Tb_Role
drop table Tb_Price
drop table Tb_ProductType
drop table Tb_Area
drop table 
drop table 
drop table 
drop table 
drop table 
*/
/********+*********+*********+*********+*********+*********+*/
/*
select * from Tb_Module
select * from Tb_Supplier
select * from Tb_Users
select * from Tb_Role
select * from Tb_Price
select * from Tb_ProductType
select * from Tb_Area



select * from 
select * from 
*/
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_Module                   --模块表
(
ModuleId int identity(1,1) primary key,  --模块编号
ModuleName varchar(50),                  --模块名称
ModuleUrl varchar(600),                  --模块url
ParentModuleId int foreign key references Tb_Module(ModuleId), --父级模块编号 -1不存在父级编号
IsEnable int default 0,                  --是否有效 0有效 1无效
ModuleMemo varchar(50),                  --模块备注
CreateTime datetime default getdate(),   --模块添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_CreditRatingType    --信用评级类型
(
CreditRatingTypeId int identity(1,1) primary key,  --编号
CreditRatingTypeName varchar(50),      --信用评级类型名称
CreditRatingTypeMemo varchar(50),      --备注
CreateTime datetime default getdate(), --添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_CreditRating         --信用评级
(
CreditRatingId int identity(1,1) primary key,    --信用评级编号
CreditRatingTypeId int foreign key references Tb_CreditRatingType(CreditRatingTypeId),
CreditRatingScore money default 0,   --信用评级分数
CreateTime datetime default getdate(),  --添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_CompanyType    --公司类型
(
CompanyTypeId int identity(1,1) primary key, --类型编号
CompanyTypeName varchar(50) not null,        --类型名称 如供应商 合作商 服务商 代理商
CompanyTypeMemo varchar(200),                --公司类型备注
CreateTime datetime default getdate(),       --添加时间
)
go
insert into Tb_CompanyType(CompanyTypeName,CompanyTypeMemo) values('供应商','提供产品')
insert into Tb_CompanyType(CompanyTypeName,CompanyTypeMemo) values('合作商','与我方一同施工')
insert into Tb_CompanyType(CompanyTypeName,CompanyTypeMemo) values('服务商','产品装在哪地方')
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_Company    --公司表
(
CompanyId int identity(1,1) primary key,
CompanyCode varchar(100),        --企业代码
CompanyTypeId int foreign key references Tb_CompanyType(CompanyTypeId),  --公司类型
CompanyName varchar(200),        --供应商名
ParentCompanyName varchar(200),  --总公司名
CompanyAddress varchar(500),     --地址
CompanyTelphone varchar(50),     --座机电话
CompanyMobile   varchar(50),     --手机
CompanyCreateTime varchar(20),   --创建时间
CompanyManCount int default 0,   --公司人数
CompanyContactList varchar(200),  --公司联系人
CreditRatingId int foreign key references Tb_CreditRating(CreditRatingId),  --供应商信用评级
CompanyMemo varchar(50),         --备注
CreateTime datetime default getdate(), --添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_Post   --职位表
(
PostId int identity(1,1) primary key,  --职位编号
PostName varchar(50) not null,         --职位名称
PostMemo varchar(50),                  --职位备注
CreateTime datetime default getdate(), --创建时间
)
go
insert into Tb_Post(PostName,PostMemo) values('总经理','总经理')
insert into Tb_Post(PostName,PostMemo) values('总监','财物总监')
insert into Tb_Post(PostName,PostMemo) values('主管','ss1')
insert into Tb_Post(PostName,PostMemo) values('员工','ss3')
insert into Tb_Post(PostName,PostMemo) values('后勤','ss3')
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_Depart    --部门表        
(
DepartId int identity(1,1) primary key,    --部门编号
DepartName varchar(50) unique not null,    --部门名称
ParentDepartId int foreign key references Tb_Depart(DepartId), --上级部门
DepartMemo varchar(50),                    --部门备注               
CreateTime datetime default getdate(),     --添加时间
)
go
insert into Tb_Depart(DepartName,DepartMemo) values('总经办','总经办')
insert into Tb_Depart(DepartName,DepartMemo) values('工程部','a')
insert into Tb_Depart(DepartName,DepartMemo) values('市场部','b')
insert into Tb_Depart(DepartName,DepartMemo) values('财物部','c')
insert into Tb_Depart(DepartName,DepartMemo) values('综合部','d')
insert into Tb_Depart(DepartName,DepartMemo) values('技术部','e')
go

/********+*********+*********+*********+*********+*********+*/
go
create table Tb_Users      --用户表
(
UserId int identity(1,1) primary key,    --用户编号
UserName varchar(50) not null,           --用户名
UserNickName varchar(50),                --别名
UserCardId varchar(50) not null unique,  --身份证号
UserWorkId varchar(50),                  --用户工号
UserPass varchar(50) not null,           --用户密码
UserPhone varchar(50) default '',        --用户手机号
UserEmail varchar(100) default '',       --用户邮箱
UserAddress varchar(100) default '',     --用户地址
UserBirthday varchar(20) default '',     --用户生日
UserInCompanyTime varchar(50),           --入职时间
UserState int default 0,                 --用户状态0超级管理员 1管理员 2审核人员 3普通用户
ParentUserId int foreign key references Tb_Users(UserId),             --上级用户编号
CreateUserId int foreign key references Tb_Users(UserId),              --创建用户编号
IsEnable int default 0,                  --是否有效 0有效 1无效
UserMemo varchar(50),
CreateTime datetime default getdate(),   --用户添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_PostUserMiddle    --职位用户中间表
(
PostUserMiddleId int identity(1,1) primary key , --中间表编号
PostId int foreign key references Tb_Post(PostId),  --职位编号
UserId int foreign key references Tb_Users(UserId),      --用户编号
CreateTime datetime default getdate(),  --添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_DepartUserMiddle    --部门用户中间表
(
DepartUserMiddleId int identity(1,1) primary key ,    --中间表编号
DepartId int foreign key references Tb_Depart(DepartId), --部门编号
UserId int foreign key references Tb_Users(UserId),      --用户编号
IsMaster int default 0,   --是否为主管 0否 1是
CreateTime dateTime default getdate(),   --添加时间
)
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_Role               --角色
(
RoleId int identity(1,1) primary key,   --角色编号
RoleName varchar(50) not null,          --角色名称
UserId int foreign key references Tb_Users(UserId),  --添加用户编号
RoleMemo varchar(50),                   --备注
CreateTime datetime default getdate(),  --创建时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table TbUserRoleMiddle    --用户角色中间表
(
UserRoleMiddleId int identity(1,1) primary key,    --中间表编号
UserId int foreign key references Tb_Users(UserId),  --用户编号
RoleId int foreign key references Tb_Role(RoleId),   --角色编号
CreateTime datetime default getdate(), --添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_UserActions    --用户操作
(
UserAction int primary key not null,  --操作编号
UserActionName varchar(50),   --操作名称
UserActionMemo varchar(50),    --操作备注
CreateTime datetime default getdate(),  --添加时间
)
go
insert into Tb_UserActions(UserAction,UserActionName,UserActionMemo) values(0,'添加','添加数据')
insert into Tb_UserActions(UserAction,UserActionName,UserActionMemo) values(1,'删除','删除数据')
insert into Tb_UserActions(UserAction,UserActionName,UserActionMemo) values(2,'更新','修改数据')
insert into Tb_UserActions(UserAction,UserActionName,UserActionMemo) values(3,'查询','查询数据')
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_RoleModuleMiddle           --角色模块中间表
(
RoleModuleMiddleId int identity(1,1) primary key,        --中间表编号
RoleId int foreign key references Tb_Role(RoleId),   --角色编号 对应 Tb_Role表
ModuleId int foreign key references Tb_Module(ModuleId), --模块编号 对应Tb_Module表
UserAction int foreign key references Tb_UserActions(UserAction), --用户操作 对应Tb_UserActions表
CreateTime datetime default getdate(),  --权限添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_Area(                --地区表
AreaId int identity(1,1) primary key,  --地区编号
AreaPostCode varchar(50) ,             --地区代号或邮编
AreaName varchar(50) not null,         --地区名称
ParentAreaId int foreign key references Tb_Area(AreaId),   --上级地区
AreaMemo varchar(50),                  --地区备注
CreateTime datetime default getdate(),  --添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_Interface    --界面表
(
InterfaceId int identity(1,1) primary key,--界面编号
InterfaceCode varchar(10) ,               --界面代号
InterfaceName varchar(50) ,               --界面名称
InterfactMemo varchar(50) ,               --界面备注
CreateTime datetime default getdate(),    --创建时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_ProductType(              --产品类型
ProductTypeId int identity(1,1) primary key,  --类型编号
ProductTypeLevel int default 0,               --类型层级
ProductTypeName varchar(50) not null,         --类型名称
ParentTypeId int foreign key references Tb_ProductType(ProductTypeId), --父级类型
IsMaxProductType int,                        --是否为大类
ProductTypeMemo varchar(50),                 --类型备注
CreateTime datetime default getdate(),       --添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_Product(                      --产品
ProductId int identity(1,1) primary key,      --产品编号
ProductTypeId int foreign key references Tb_ProductType(ProductTypeId), --产品类型
ProductName varchar(50) not null,                  --产品名称
InterfaceId int foreign key references Tb_Interface(InterfaceId),  --产品界面
AreaId int foreign key references Tb_Area(AreaId),                 --产品地区
UserId int foreign key references Tb_Users(UserId),                --用户编号
CompanyId int foreign key references Tb_Company(CompanyId),        --供应商
ProductMemo varchar(500),                                          --备注
CreateTime datetime default getdate(),                             --添加时间
)
go
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_Price     --价格表
(
PriceId int identity(1,1) primary key,  --价格编号
PriceYear varchar(20) not null,    --年份
PriceValue money not null,    --价格
PriceMemo varchar(50),       --备注
CreateTime datetime default getdate(), --添加时间
)
go
insert into Tb_Price(PriceYear,PriceValue) values('2010年1月1日',20.31)
insert into Tb_Price(PriceYear,PriceValue) values('2011年1月1日',20.51)
insert into Tb_Price(PriceYear,PriceValue) values('2012年1月1日',20.4)
/********+*********+*********+*********+*********+*********+*/
go
create table Tb_ProductPriceMiddle    --产品价格中间表
(
ProductPriceMiddleId int identity(1,1),                          --中间表编号
ProductId int foreign key references Tb_Product(ProductId),       --产品编号
PriceId int foreign key references Tb_Price(PriceId),              --价格编号
UserId int foreign key references Tb_Users(UserId),                --用户编号
)
go
/********+*********+*********+*********+*********+*********+*/
